Description
When a panel is focused, pressing / opens an inline filter input at the bottom of the panel. Typing filters the panel's items in real time (case-insensitive substring match). Esc clears the filter and closes the input. Enter locks the filter (input hides, filtered items remain visible with a [filter: "…"] badge in the border title).
Applicable panels: News, Feeds, HN, Sports, Calendar.
Implementation:
- Add a
filter: str = ""attribute toDashPanelor the item-layer widget - Pressing
/focuses anInputwidget docked at the bottom of the panel on_input_changedre-renders the content filtered to matching itemsEscclearsfilterand dismisses the inputEnterkeeps the filter active but hides the input; border title shows[…]
Depends on: TASK-005 (focus), TASK-007 (item navigation)
Acceptance Criteria
- #1 / when panel is focused opens inline filter input
- #2 Items filter in real time as user types
- #3 Esc clears filter and hides input
- #4 Active filter shown in border title
- #5 Works in News, Feeds, HN, Sports, Calendar panels